//------------------------------------------------------------------
//Got-Internet! Simple check if internet connection program. 
//Copyright (C) 2010  Manuel Villarejo
//------------------------------------------------------------------
//
//This program is free software: you can redistribute it and/or modify
//it under the terms of the GNU General Public License as published by
//the Free Software Foundation, either version 3 of the License, or
//(at your option) any later version.
//
//This program is distributed in the hope that it will be useful,
//but WITHOUT ANY WARRANTY; without even the implied warranty of
//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//GNU General Public License for more details.
//
//You should have received a copy of the GNU General Public License
//along with this program.  If not, see <http://www.gnu.org/licenses/>.

#import <Cocoa/Cocoa.h>
#import "MVBaseViewController.h"
#import "MVLoginItem.h"

@interface MyAppController : MVBaseViewController {
	IBOutlet NSTextField	*errorMessage;
	IBOutlet NSView			*mainView;
	IBOutlet NSView			*errorView; //errorPanel en sshtunel
	IBOutlet NSView			*aboutView;
	IBOutlet NSView			*preferencesView;
	
	IBOutlet NSMenu			*statusBarMenu;
	IBOutlet NSMenuItem		*statusBarMenuItem;

	bool					Internet;
	NSString				*privateIP;
	NSString				*publicIP;
	
	
	NSString				*hostname;
	NSDictionary			*currentAnimation;
	NSStatusItem			*statusBarItem;
	NSRect					oldWindowFrame;
	NSInteger				preferencesViewHeight;
	
	IBOutlet NSUserDefaultsController	*preferencesController;
	
}
@property (readwrite, assign) NSString *hostname;
@property (readwrite, assign) bool Internet;

#pragma mark -
#pragma mark Interface Actions
- (IBAction) openMainWindow:(id)sender;
- (IBAction) closeMainWindow:(id)sender;
- (IBAction) refresh:(id)sender;
#pragma mark -
#pragma mark View management
- (IBAction) displayPreferencesView:(id)sender;
- (IBAction) displayAboutView:(id)sender;

#pragma mark -
#pragma mark Helper methods
- (void) checkNewVersionOnServerFromUser:(BOOL)userRequest;
- (void) prepareStatusBarMenu;

#pragma mark -
#pragma mark Observer and Delegates
//- (void) createObservers;

@end
